/*
 * process.h
 *
 *  Created on: Feb 25, 2012
 *      Author: Holly
 */

#ifndef PROCESS_H_
#define PROCESS_H_

enum process_names {UI, CALCULATOR, PRODUCER, CONSUMER};
enum process_states {RUNNING, RUNNABLE, BLOCKED};

typedef struct {
	enum process_names name;
	char *strName; /*printable name*/
	int id;         /*ID unique to this process*/
	int priority;
	int pc;         /*process program counter*/
	int addressForSyscall;
	int wasLastProcessRun; /* 1 = true, 0 = false*/
	enum process_states status;
	char *strStatus; /*printable status*/
} process;

#endif /* PROCESS_H_ */
